草庐IT

constructor - Swift 类不可构造

全部标签

javascript - 简单对象 vs. 工厂 vs. 构造函数——实例

在JavaScript中创建对象的三种方式:通过简单的对象创建通过工厂功能通过构造函数简单的对象创建:varronaldo={name:"Ronaldo",age:"35",quote:"HiIamRonaldo",salary:function(x){returnx+2500;}};工厂函数:functionhuman(x,y,z,i){return{name:x,age:y,quote:z,salary:function(i){returni+2500;}}};varZini=human('Zenidan','41','IamZidane',7500);构造函数:varhuman=

javascript - new super.constructor 是 JavaScript 中的有效表达式吗?

我想知道newsuper.SomeProperty形式的表达式在JavaScript中是否有效。这个问题是在处理跨浏览器行为不一致的代码时出现的,例如下面代码片段中的示例。classTest{test(){returnnewsuper.constructor;}}console.log((newTest).test());这会在Firefox和Edge中打印一个空对象,但会在Chrome中抛出一个ReferenceError并在Safari中抛出一个SyntaxError。通过在super.constructor周围加上括号或使用变量可以很容易地避免该错误,因此这不是真正的限制,而是对

javascript - session cookie 在 document.cookie 中不可用

我可以看到cookie正在通过Chrome网络检查器传输:Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3Accept-Encoding:gzip,deflate,sdchAccept-Language:en-US,en;q=0.8Cache-Control:max-age=0Connection:keep-aliveCookie:rack.session=BAh7B8kiD3Nlc3Npb25faWQGO

javascript - 模块 'ui.bootstrap' 不可用-Angularjs

我的angularjs项目遇到了一个奇怪的问题。我有一个网站,如-www.server.com/pwm(主页)。在页面中有一个anchor标记,将我带到另一个页面-www.server.com/publishers。当我加载主页并通过单击anchor标记导航到发布者页面时,一切正常。但是,当我直接在浏览器中输入url时,会出现以下异常(例如,如果我加载主页www.server.com/pwm,然后在url末尾输入“/publishers”)[$injector:nomod]模块“ui.bootstrap”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第

javascript - 如何使用 Bluebird 在构造函数构建的 "class"上 promise 导出的函数

我有一个服务,PageService,我这样测试(简化)...vardatabase=require("../database/database");varPageService=require("./pageService");describe("PageService",function(){varpageService={};before(function(done){pageService=newPageService(database);}it("cangetallPages",function(done){pageService.getAll(function(err,pa

javascript - 数组构造函数未按预期工作

这个问题在这里已经有了答案:UndefinedvaluesinArray(len)initializer(5个答案)关闭6年前。我想创建固定长度的空数组,然后在其上使用.map返回新数组。但是,它没有按预期工作。根据mdndocs:IftheonlyargumentpassedtotheArrayconstructorisanintegerbetween0and232-1(inclusive),thisreturnsanewJavaScriptarraywithlengthsettothatnumber.newArray(3)返回[undefined×3]。不应该是:[undefine

javascript - 通过原型(prototype)将计算的可观察对象添加到构造函数

我正在使用Knockout.js2.0,我正在尝试通过添加计算可观察对象来扩展我创建的构造函数的原型(prototype),但它会抛出“self.IsSubDomain不是函数”。我该如何解决这个错误?有没有另一种方法可以扩展构造函数来解决这个问题?http://jsfiddle.net/StrandedPirate/J44S4/3/注意:我知道我可以在构造函数的闭包内定义计算的可观察对象,但我正在为knockoutView模型构建一个自动代码生成器,我需要能够通过原型(prototype)属性扩展我的对象。 最佳答案 我也是ans

javascript - Firefox 中的 localStorage 不可靠

我正在研究deckbuildingapplication对于我玩的纸牌游戏。我正在使用localStorage来保存和检索牌组。它似乎在Chrome中运行完美,但在Firefox中运行不可靠。在FF中,一开始似乎一切正常,甲板甚至通过重新加载仍然存在。但是,如果我添加第二副牌并重新加载,它只会找到第一副牌。如果我删除第一副牌,它就再也找不到任何东西了。所有本地存储交互都在scripts/vault.js中,我将在下面重现。我做错了什么吗?vault={};vault.makeKey=function(s){return"deck:"+s;};vault.friendlyName=fun

javascript - 为什么这个可配置属性不可删除?

可配置的属性似乎是可删除的:varo={};Object.defineProperty(o,'prop',{configurable:true,value:'val'});deleteo.prop;//trueo.prop;//undefined但它在以下情况下不起作用,至少在Firefox和Chrome上:varform=document.createElement('form'),input=document.createElement('input');form.appendChild(input);varelems=form.elements;Object.getOwnProp

javascript - 在所有子构造函数完成之前,父构造函数调用重写的函数

ECMAScript6(Harmony)引入了能够相互继承的类。假设我有一个游戏和一些基本类来描述机器人行为的基本内容。我简化了我的真实架构,但假设我需要运行render和其他一些例程,我将这些调用放在基本的Bot类中。classBot{constructor(){render();}render(){}}然后每个机器人都会覆盖它的render函数,并且可以在构造函数中进行一些设置:classDevilBotextendsBot{constructor(){super();this.color=0xB4D333;}render(){createSomeMesh(this.color);